/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.sapra.ServletsPoliza;

import java.io.IOException;
import java.io.PrintWriter;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.List;
import java.util.Locale;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.sapra.abc.dPracticante;
import org.sapra.dao.CCosto;
import org.sapra.dao.Carrera;
import org.sapra.dao.Departamento;
import org.sapra.dao.Empresa;
import org.sapra.dao.Practicante;
import org.sapra.dao.PracticanteReporte;
import org.sapra.dao.Universidad;
import org.sapra.dep.conexion.DBWRAP;
import org.sapra.logon.dLogin;
import org.sapra.abc.dUniversidad;
import org.sapra.abc.dCarrera;
import org.sapra.abc.dCentroCosto;
import org.sapra.abc.dDepartamento;
import org.sapra.abc.dDireccion;
import org.sapra.dao.Direccion;
import org.sapra.echo.*;


/**
 *
 * @author cobain
 */
public class ReporteServlet extends HttpServlet {
   
	public void init() throws ServletException {
		// TODO Auto-generated method stub
		super.init();
	//	redirectPage =getInitParameter("redirectPage");

	}
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		doTask(req,resp);
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		doTask(req,resp);
	}

	private void doTask(HttpServletRequest request, HttpServletResponse response){

            int _sFiltro=0;
            
            try {
            String Filtro=(String)request.getSession().getAttribute("_filtro");
            String Empid=(String)request.getSession().getAttribute("_idempresa");
            PracticanteReporte Obj=(PracticanteReporte)request.getSession().getAttribute("_objeto");
            //Respuesta
            PrintWriter out = response.getWriter();
            Empresa emp=dLogin.getEmpresa2(Integer.parseInt(Empid));
            _sFiltro=Integer.parseInt(Filtro);

             List<Practicante> m_pract=dPracticante.getPracticantes(emp, _sFiltro);

             DecimalFormat nf = new DecimalFormat("## ### ###.00");
             SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd",new Locale("es"));
             String file1="";
                         file1+="<html>"
                    + " <head><title>REPORTE DE PRACTICANTES </title></head>"
                    + "<body align=\"center\">";
                         file1+="<p align=\"center\">";
            file1+="<img src=\"http://www.administraciondepracticantes.com//imagenes/logo.JPG\" alt=\"CAINTRA NL\" / align=\"center\"><br><br>";
            //file1+="<img src=\"org/sapra/echo/image/logo_mejorado.jpg\" alt=\"CAINTRA NL\" / align=\"center\"><br><br>";
            file1+="</p>";
            file1+="<table border=2 cellspacing=1 cellpadding=1>"
                            + " <tr>"
                                    +"<td>Empresa</td>"
                                    +"<td>"+emp.getRazon_empresa()+"</td>"
                            +"</tr>"
                            +"<tr>"
                                    +"<td>Razon Factura</td>"
                                    +"<td>"+emp.getRazon_factura()+"</td>"
                            +"</tr>"
                            +"<tr>"
                            +"</tr>"
                      + "</table><br><br>";
            file1+="<table border=3 cellspacing=2 cellpadding=2 frame=\"above\">";

            file1 += "<th>CONVENIO</th>\r\n";

            if(Obj.getNombreCompleto()==true){
                file1 += "<th>NOMBRE</th>\r\n";
            }

            if(Obj.getUniversidad()==true){
                file1 += "<th>UNIVERSIDAD</th>\r\n";
            }

            if(Obj.getCarrera()==true){
                file1 += "<th>CARRERA</th>\r\n";
            }

            if(Obj.getSexo()==true){
                file1 += "<th>SEXO</th>\r\n";
            }

            if(Obj.getEscolaridad()==true){
                file1 += "<th>ESCOLARIDAD</th>\r\n";
            }

            if(Obj.getEmail()==true){
                file1 += "<th>EMAIL</th>\r\n";
            }

            if(Obj.getFechaInicio()==true){
                file1 += "<th>FECHA DE INICIO</th>\r\n";
            }

            if(Obj.getFechaTermino()==true){
                file1 += "<th>FECHA DE TERMINO</th>\r\n";
            }

            if(Obj.getFechaCancelacion()==true){
                file1 += "<th>FECHA DE CANCELACION</th>\r\n";
            }

            if(Obj.getCicloEscolar()==true){
                file1 += "<th>CICLO ESCOLAR</th>\r\n";
            }

            if(Obj.getDepartamento()==true){
                file1 += "<th>DEPARTAMENTO</th>\r\n";
            }

            if(Obj.getMatricula()==true){
                file1 += "<th>MATRICULA</th>\r\n";
            }

            if(Obj.getVigencia()==true){
                file1 += "<th>VIGENCIA</th>\r\n";
            }

            if(Obj.getRFC()==true){
                file1 += "<th>R.F.C.</th>\r\n";
            }

            if(Obj.getQuienReporta()==true){
                file1 += "<th>A QUIEN REPORTA</th>\r\n";
            }

            if(Obj.getProyecto()==true){
                file1 += "<th>PROYECTO</th>\r\n";
            }

            if(Obj.getHorario()==true){
                file1 += "<th>HORARIO</th>\r\n";
            }

            if(Obj.getDireccion()==true){
                file1 += "<th>DIRECCION</th>\r\n";
            }

            if(Obj.getTelefono()==true){
                file1 += "<th>TELEFONO</th>\r\n";
            }

            if(Obj.getMotivoCancelacion()==true){
                file1 += "<th>MOTIVO DE CANCELACION</th>\r\n";
            }

            if(Obj.getBeca()==true){
                file1 += "<th>APORTACION MENSUAL</th>\r\n";
            }

            if(Obj.getGrado()==true){
                file1 += "<th>GRADO</th>\r\n";
            }

            if(Obj.getFechaNacimiento()==true){
                file1 += "<th>FECHA DE NACIMIENTO</th>\r\n";
            }

            if(Obj.getCentroCosto()==true){
                file1 += "<th>CENTRO DE COSTO</th>\r\n";
            }
            
           //file1 +="</tr>\r\n";
           file1 +="</tr>";


            for(int i=0;i<m_pract.size();i++){
                Practicante p = (Practicante)m_pract.get(i);
                file1+="<tr>";
                        file1+="<td>"+p.getPracticanteId()+"</td>";
                        if(Obj.getNombreCompleto()==true)
                        {
                            file1+="<td>"+p.getNombre()+" "+p.getPaterno()+" "+p.getMaterno()+"</td>";
                        }else{
                           //file1+="<td></td>";
                           file1+="";
                        }

                        if(Obj.getUniversidad()==true){
                            Universidad u=dUniversidad.getUniversidad(p.getFk_universidadId());
                         file1+="<td>";
                                 if(p.getFk_universidadId()==0)
                                    file1+=" N/D ";
                                else
                                    file1+=u.getNombre();
                        file1+="</td>";

                        }else{
                            //file1+="<td></td>";
                    file1+="";
                        }

                         if(Obj.getCarrera()==true){
                             Carrera cr=dCarrera.getCarrera(p.getFk_carreraId());
                               file1+="<td>"+cr.getNombre()+"</td>";

                         }else{/*file1+="<td></td>";*/file1+="";}

                        if(Obj.getSexo()==true){
                         file1+="<td>"+p.getSexo()+"</td>";}else{/*file1+="<td></td>";*/file1+="";}

                         if(Obj.getEscolaridad()==true){
                         file1+="<td>"+p.getEscolaridad()+"</td>";}else{/*file1+="<td></td>";*/file1+="";}

                        if (Obj.getEmail() == true) {
                    file1 += "<td>";
                            if(p.getEmail()!=null&&!p.getEmail().equals("")){
                                file1+=p.getEmail() + "</td>";
                            }else{
                                   file1+="N/D </td>";
                            }

                } else {/*file1+="<td></td>";*/
                    file1 += "";
                }

                        if(Obj.getFechaInicio()==true){
                         file1+="<td>"+df.format(p.getFec_inicioContrato())+"</td>";}else{/*file1+="<td></td>";*/file1+="";}

                        if(Obj.getFechaTermino()==true){
                         file1+="<td>"+df.format(p.getFec_terminoContrato())+"</td>";}else{/*file1+="<td></td>";*/file1+="";}

                        if(Obj.getFechaCancelacion()==true){
                        file1+="<td>";
                        if(p.getFec_cancelacion()!=null)
                            file1+=df.format(p.getFec_cancelacion());
                        else
                            file1+="N/D";
                        file1+="</td>";}else{/*file1+="<td></td>";*/file1+="";}

                        if(Obj.getCicloEscolar()==true){
                        file1+="<td>"+p.getCiclo_escolar()+"</td>";}else{/*file1+="<td></td>";*/file1+="";}

                        if(Obj.getDepartamento()==true){
                            Departamento deps=dDepartamento.getDepartamento(p.getFk_departamentoId());
                        file1+="<td>"+deps.getNombre()+"</td>";}else{/*file1+="<td></td>";*/file1+="";}

                        if(Obj.getMatricula()==true){
                        file1+="<td>"+p.getMatricula()+"</td>";}else{/*file1+="<td></td>";*/file1+="";}

                        if(Obj.getVigencia()==true){
                        file1+="<td>"+p.getRegimen()+"</td>";}else{/*file1+="<td></td>";*/file1+="";}

                        if(Obj.getRFC()==true){
                        file1+="<td>";
                        if(p.getRfc()!=null)
                            file1+=p.getRfc();
                        else
                            file1+="N/D";
                        file1+="</td>";}else{/*file1+="<td></td>";*/file1+="";}

                        if(Obj.getQuienReporta()==true){
                        file1+="<td>"+p.getReportara()+"</td>";}else{/*file1+="<td></td>";*/file1+="";}

                        if (Obj.getProyecto() == true) {
                    file1 += "<td>";
                         if(p.getProyecto()!=null&&!p.getProyecto().equals("")){
                            file1+=p.getProyecto() + "</td>";
                         }else{
                               file1+= "N/D</td>";
                         }
                } else {/*file1+="<td></td>";*/
                    file1 += "";
                }

                        if(Obj.getHorario()==true){
                        file1+="<td>"+p.getHorarioInicio()+""+p.getHorarioFin()+"</td>";}else{/*file1+="<td></td>";*/file1+="";}

                        if(Obj.getDireccion()==true){
                            Direccion dir=dDireccion.getDireccion(p.getFk_direccionId());
                        file1+="<td>"+dir.getcalle()+dir.getnumero_exterior()+dir.getsColonia()+dir.getsPoblacion()+"</td>";}else{/*file1+="<td></td>";*/file1+="";}

                        if(Obj.getTelefono()==true){
                        file1+="<td>";
                        if(p.getTelefono()!=null)
                            file1+=p.getTelefono();
                        else
                            file1+="N/D";
                        file1+="</td>";}else{/*file1+="<td></td>";*/file1+="";}

                        if(Obj.getMotivoCancelacion()==true){
                         file1+="<td>";
                        if(p.getMotivo_cancelacion()!=null&&!p.getMotivo_cancelacion().equals(""))
                            file1+=p.getMotivo_cancelacion();
                        else
                            file1+="N/D";
                        file1+="</td>";}else{/*file1+="<td></td>";*/file1+="";}

                        if(Obj.getBeca()==true){
                        file1+="<td>"+p.getSueldo()+"</td>";}else{/*file1+="<td></td>";*/file1+="";}

                        if(Obj.getGrado()==true){
                        file1+="<td>"+p.getGrado()+"</td>";}else{/*file1+="<td></td>";*/file1+="";}

                        if(Obj.getFechaNacimiento()==true){
                        file1+="<td>";
                        if(p.getFec_nacimiento()!=null)
                            file1+=df.format(p.getFec_nacimiento());
                        else
                            file1+="N/D";
                        file1+="</td>";}else{/*file1+="<td></td>";*/file1+="";}

                        if(Obj.getCentroCosto()==true){
                            CCosto ccs=dCentroCosto.getCCosto(p.getFk_centroCostoId());
                        file1+="<td>"+ccs.getNombre()+"</td>";}else{/*file1+="<td></td>";*/file1+="";}
            }
            file1+="</table>";
            file1+="</body>"
                    + " </html>";
			out.println(file1);
			out.flush();
                        
	}catch(Exception e){
            e.printStackTrace();
        }
    }

}
